1
Mathematical Mappings and Data Modeling
MATH002 Lesson 3
00:00
Mathematical mapping and data modeling serve as the bridge between abstract set theory and computational reality. Within this framework, an algorithm acts as a formal, deterministic transformation where structured input is processed through precise instructions to yield a correct output. This establishes the logical foundation for all software and database architecture.

The Properties of an Algorithm

An algorithm is a step-by-step method of solving a problem, characterized by seven critical pillars:

  • Input: The algorithm receives data from a specified set.
  • Output: The algorithm produces a result (the solution) from a specified set.
  • Precision: Each step is stated with absolute clarity.
  • Determinism: The intermediate results are unique and determined only by inputs and preceding steps.
  • Finiteness: The process terminates after a finite number of instructions.
  • Correctness: The output solves the problem as intended.
  • Generality: The procedure applies to a whole class of inputs, not just a single case.

Algorithm 4.1.1: Finding the Maximum of Three Numbers

This simple ternary relation demonstrates precision and determinism. Regardless of the values of $a, b,$ and $c$, the steps follow a rigid logical path.

Pseudocode Trace
max3(a, b, c) {
large = a
if (b > large) large = b
if (c > large) large = c
return large
}

Data Modeling and Loop Invariants

In more complex data structures, such as sequences ($s_1, ..., s_n$), we utilize Algorithm 4.1.2. To ensure such algorithms are correct, we rely on induction and the concept of a loop invariant.

Algorithm 4.1.2: Finding Max in a Sequence
max(s, n) {
large = s_1
for i = 2 to n
if (s_i > large)
large = s_i
return large
}

Loop Invariant: "large is the largest value in the subsequence $s_1, ..., s_i$". This property remains true through every iteration, proving correctness via induction.

🎯 Core Principle: Mapping Validity
A valid mathematical function requires every element in the domain to map to exactly one element in the codomain. Missing arrows or multiple arrows from a single source invalidate the function status, mirroring why non-deterministic or incomplete algorithms fail in practice.